package org.fing.edu.uy.esb.adapative.ws.testing;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.soap.SOAPException;


@WebService()
public class EchoWS  {

	public EchoWS(){}
	
	@WebMethod()
	public String echo(String str){
		System.out.println("<<< Llamado recibido echo >>>");
		return "echo::"+str;
	}
	
	@WebMethod()
	public String echoDelay(String str,int delay) throws SOAPException{
		//duermo el hilo el tiempo recibido por parametro
		
		System.out.println("<<< Llamado recibido echoDelay (delay:"+delay+") >>>");
		try {
			Thread.sleep(delay);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			throw new SOAPException("Exception al hacer sleep al thread");
		}
		return "echoDelay::"+str;
	}
	
	@WebMethod()
	
	public String echoError(int errorType) throws SOAPException{
		System.out.println("<<< Llamado recibido echoError (errorType:"+errorType+") >>>");
		//todo DEFINIR LOS TIPOS POR AHORA SOLO LANZO UNA EXCEPTION SOAP GENERICA.
		throw new SOAPException("Exception tipo " + String.valueOf(errorType));
	}
	
	
}
